package com.hotel.service;

import java.util.List;


import java.util.Set;

import org.springframework.stereotype.Service;

import com.hotel.entity.Dept;
import com.hotel.entity.IdType;
import com.hotel.entity.Position;
import com.hotel.entity.User;

public interface UserService {
	
	/**
	 * 删除员工
	 * @param userId
	 * @return
	 */
	int deleteByPrimaryKey(Integer userId);
	
	/**
	 * 添加员工
	 * @param record
	 * @return
	 */
	int insert(User record);
	
	/**
	 * 更新员工
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(User record);
	
	/**
	 * 查询全部用户
	 * @return
	 */
	public List<User> findAllUser(Integer pageNo,Integer pageSize);
	
	/**
	 * 通过邮箱查询用户
	 * @param userName
	 * @return
	 */
	public User getByUserName(String email);
	
	/**
	 * 通过邮箱查询角色信息
	 * @param userName
	 * @return
	 */
	public Set<String> getRoles(String email);
	
	/**
	 * 通过邮箱查询权限信息
	 * @param userName
	 * @return
	 */
	public Set<String> getPermissions(String email);
	
	 /**
     * 查询全部证件类型
     * @return
     */
    List<IdType> findAllIdType();
    
    /**
     * 查询全部部门
     * @return
     */
    List<Dept> findAllDept();
    
    /**
     * 按部门ID查询职位
     * @return
     */
    List<Position> findPositionByDeptId(Integer deptId);
    
    /**
     * 按职位ID查询部门
     * @return
     */
    Dept findDeptByPositionId(Integer positionId);
	
}
